// PlayerShip.java // Created on Jan 31, 2005 // Created by Shahein Tajmir // This creates the user-controlled ship by going through a massive for-loop and initializing the // pixels as needed. Then the entire array is converted into an image object. import java.awt.*; import java.awt.image.*; public class PlayerShip extends Sprite { static int ID = 1; // class ID variable private int myID; public PlayerShip(int x, int y) { // assigns position of upper left corner this.x = x; this.y = y; // creates dimension d = new Dimension(49, 50); // assigns width and height int w = d.width; int h = d.height; int pixels[] = new int[w * h]; int i = 0; // pixel variables for initializing the pixel values // a = transparency // r = red component // g = green component // b = blue component int a = 0; int r = 0; int g = 0; int b = 0; // Beginning of loop, starts with the rows for(int j = 0; j < h; j++) { // Inner loop, does the columns for(int k = 0; k < w; k++) { if(j <= 7) // first 8 rows: skinny part of nose { if(k <= 22) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 25) { a = 255; r = 255; g = 255; b = 255; } else { a = 0; r = 0; g = 0; b = 0; } } else if(j <= 13) // next 6 rows { if(k <= 20) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 27) { a = 255; r = 255; g = 255; b = 255; } else { a = 0; r = 0; g = 0; b = 0; } } else if(j <= 19) // beginning of inner red pylons { if(k <= 8) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 11) { a = 255; r = 200; g = 0; b = 0; } else if(k <= 20) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 27) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 36) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 39) { a = 255; r = 200; g = 0; b = 0; } else { a = 0; r = 0; g = 0; b = 0; } } else if(j <= 22) // lines above center windows { if(k <= 8) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 11) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 14) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 33) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 36) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 39) { a = 255; r = 255; g = 255; b = 255; } else { a = 0; r = 0; g = 0; b = 0; } } else if(j <= 23) // line containing top row of center window { if(k <= 8) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 11) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 14) { a = 0; r = 0; g = 0; b = 0; } else if (k <= 22) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 25) { a = 255; r = 200; g = 0; b = 0; } else if(k <= 33) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 36) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 39) { a = 255; r = 255; g = 255; b = 255; } else { a = 0; r = 0; g = 0; b = 0; } } else if(j <= 25) // next 2 rows && beginning of outer red pylons { if(k <= 2) { a = 255; r = 200; g = 0; b = 0; } else if(k <= 8) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 11) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 14) { a = 0; r = 0; g = 0; b = 0; } else if (k <= 22) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 25) { a = 255; r = 200; g = 0; b = 0; } else if(k <= 33) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 36) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 39) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 45) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 48) { a = 255; r = 200; g = 0; b = 0; } } else if(j <= 26) // next rows && ends outer red pylon { if(k <= 2) { a = 255; r = 200; g = 0; b = 0; } else if(k <= 8) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 11) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 14) { a = 255; r = 200; g = 0; b = 0; } else if (k <= 19) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 28) { a = 255; r = 200; g = 0; b = 0; } else if(k <= 33) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 36) { a = 255; r = 200; g = 0; b = 0; } else if(k <= 39) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 45) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 48) { a = 255; r = 200; g = 0; b = 0; } } else if(j <= 28) // next 2 rows { if(k <= 2) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 8) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 11) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 14) { a = 255; r = 200; g = 0; b = 0; } else if (k <= 19) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 28) { a = 255; r = 200; g = 0; b = 0; } else if(k <= 33) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 36) { a = 255; r = 200; g = 0; b = 0; } else if(k <= 39) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 45) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 48) { a = 255; r = 255; g = 255; b = 255; } } else if(j <= 31) // next 3 rows: ends central windows { if(k <= 2) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 8) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 11) { a = 255; r = 200; g = 0; b = 0; } else if(k <= 14) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 19) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 22) { a = 255; r = 200; g = 0; b = 0; } else if (k <= 25) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 28) { a = 255; r = 200; g = 0; b = 0; } else if(k <= 33) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 36) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 39) { a = 255; r = 200; g = 0; b = 0; } else if(k <= 45) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 48) { a = 255; r = 255; g = 255; b = 255; } } else if(j <= 34) // next 3 rows: end inner pylon { if(k <= 2) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 8) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 11) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 14) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 19) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 22) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 25) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 28) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 33) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 36) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 39) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 45) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 48) { a = 255; r = 255; g = 255; b = 255; } } else if(j <= 37) // next 3 rows: begin wing { if(k <= 2) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 5) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 8) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 11) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 14) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 19) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 22) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 25) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 28) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 33) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 36) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 39) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 42) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 45) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 48) { a = 255; r = 255; g = 255; b = 255; } } else if(j <= 40) // next 3 rows: beginning of thrusters { if(k <= 2) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 5) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 8) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 11) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 14) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 16) { a = 0; r = 0; g = 0; b = 0; } else if (k <= 19) { a = 255; r = 200; g = 0; b = 0; } else if (k <= 22) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 25) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 28) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 31) { a = 255; r = 200; g = 0; b = 0; } else if(k <= 33) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 36) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 39) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 42) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 45) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 48) { a = 255; r = 255; g = 255; b = 255; } } else if(j <= 41) // next row: continue thruster { if(k <= 2) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 5) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 8) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 11) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 13) { a = 0; r = 0; g = 0; b = 0; } else if (k <= 19) { a = 255; r = 200; g = 0; b = 0; } else if (k <= 22) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 25) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 28) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 34) { a = 255; r = 200; g = 0; b = 0; } else if(k <= 39) { a = 0; r = 0; g = 0; b = 0; } else if (k <= 42) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 45) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 48) { a = 255; r = 255; g = 255; b = 255; } } else if(j <= 43) // next 2 row: continue thruster more { if(k <= 2) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 5) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 8) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 11) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 13) { a = 0; r = 0; g = 0; b = 0; } else if (k <= 19) { a = 255; r = 200; g = 0; b = 0; } else if (k <= 20) { a = 0; r = 0; g = 0; b = 0; } else if (k <= 22) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 25) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 27) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 28) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 34) { a = 255; r = 200; g = 0; b = 0; } else if(k <= 39) { a = 0; r = 0; g = 0; b = 0; } else if (k <= 42) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 45) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 48) { a = 255; r = 255; g = 255; b = 255; } } else if(j <= 45) // next 2 row: continue thruster even more { if(k <= 2) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 5) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 8) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 11) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 13) { a = 0; r = 0; g = 0; b = 0; } else if (k <= 19) { a = 255; r = 200; g = 0; b = 0; } else if (k <= 20) { a = 0; r = 0; g = 0; b = 0; } else if (k <= 22) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 25) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 27) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 28) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 34) { a = 255; r = 200; g = 0; b = 0; } else if(k <= 39) { a = 0; r = 0; g = 0; b = 0; } else if (k <= 42) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 45) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 48) { a = 255; r = 255; g = 255; b = 255; } } else if(j <= 46) // next row: continue thruster even more { if(k <= 2) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 5) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 8) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 11) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 13) { a = 0; r = 0; g = 0; b = 0; } else if (k <= 19) { a = 255; r = 200; g = 0; b = 0; } else if (k <= 20) { a = 0; r = 0; g = 0; b = 0; } else if (k <= 23) { a = 0; r = 0; g = 0; b = 0; } else if (k <= 24) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 27) { a = 0; r = 0; g = 0; b = 0; } else if (k <= 28) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 34) { a = 255; r = 200; g = 0; b = 0; } else if(k <= 39) { a = 0; r = 0; g = 0; b = 0; } else if (k <= 42) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 45) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 48) { a = 255; r = 255; g = 255; b = 255; } } else if(j <= 49) // last three lines: continue thruster even more { if(k <= 2) { a = 255; r = 255; g = 255; b = 255; } else if(k <= 5) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 8) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 11) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 13) { a = 0; r = 0; g = 0; b = 0; } else if (k <= 19) { a = 0; r = 0; g = 0; b = 0; } else if (k <= 20) { a = 0; r = 0; g = 0; b = 0; } else if (k <= 23) { a = 0; r = 0; g = 0; b = 0; } else if (k <= 24) { a = 255; r = 255; g = 255; b = 255; } else if (k <= 27) { a = 0; r = 0; g = 0; b = 0; } else if (k <= 28) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 34) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 39) { a = 0; r = 0; g = 0; b = 0; } else if (k <= 42) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 45) { a = 0; r = 0; g = 0; b = 0; } else if(k <= 48) { a = 255; r = 255; g = 255; b = 255; } } pixels[i++] = (a << 24) | (r << 16) | (g << 8) | b; } } image = makeImage(w, h, pixels); } public int getID() { return myID; } }